package com.zzyl.nursing.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zzyl.nursing.domain.Elder;
import com.zzyl.nursing.domain.NursingTask;
import com.zzyl.nursing.dto.NursingTaskDoDto;
import com.zzyl.nursing.dto.NursingTaskDto;
import com.zzyl.nursing.vo.NursingTaskInfoVo;
import com.zzyl.nursing.vo.NursingTaskVo;

import java.util.List;

/**
 * @author baisong
 * @since 2025/10/29 16:31
 */
public interface INursingTaskService extends IService<NursingTask> {
    /**
     * 护理任务分页查询
     * @param dto
     * @return
     */
    List<NursingTaskVo> getPage(NursingTaskDto dto);
    /**
     * 生成月度护理任务
     * @param elder 老人信息
     */
    void generateMonthlyTask(Elder elder);

    /**
     * 护理任务查询详细信息
     * @param id
     * @return
     */
    NursingTaskInfoVo getInfo(Long id);

    /**
     * 取消护理任务
     * @param taskId
     * @param reason
     */
    void cancelTask(Long taskId, String reason);

    /**
     * 执行护理任务
     * @param dto
     */
    void doTask(NursingTaskDoDto dto);

    /**
     * 护理任务改期
     * @param dto
     */
    void updateTaskTime(NursingTaskDoDto dto);
}
